home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Bavarian / Bavarian #124 (19xx)(APS Electronic).zip / Bavarian #124 (19xx)(APS Electronic).adf / Berserker / berserker.doc < prev    next >
Text File  |  1988-08-04  |  10KB  |  229 lines

  1.  
  2. **************************************************************************
  3. *
  4. *                         B E R S E R K E R III +
  5. *                         -----------------------
  6. *
  7. *                 © Copyright 1988, 1989 by Ralf Thanner
  8. *
  9. * This code is entirely written in assembler for the Kuma Seka assembler
  10. *
  11. *    Executable program and source code are both in the PUBLIC-DOMAIN!
  12. *
  13. *  A small copy fee for Berserker is okay, but anything which looks like
  14. *        commercial redistribution is forbidden (remember that!).
  15. *
  16. **************************************************************************
  17. *
  18. *   REVISION HISTORY:
  19. *   =================
  20. *
  21. *   V1.0   - Just a primitive SCA finder and killer.
  22. *
  23. *   V1.c   - Added Byte Bandit & Byte Warrior killer.
  24. *      - Improved SCA & SCA mutants killer routine.
  25. *
  26. *   V2.b   - Now also finds the Exterminator (LAMER).
  27. *
  28. *   V2.d   - Now also finds the first link virus (IRQ TEAM 41).
  29. *
  30. *   V2.e   - Added alert box by Olaf Barthel.
  31. *      - Some cleanups and bug-fixes done.
  32. *
  33. *   V2.e+   - Doesn't refuse to work with Kick 1.3 any more.
  34. *      - Added custom bootblock writer.
  35. *      - Added kill cold-cool vectors;
  36. *        There are just too many SCA clones on the market
  37. *        and it is saver to clear these pointers
  38. *
  39. *   V3.0   - Now also finds the BSG 9 link virus.
  40. *      - Second (and final?) code cleanup for public
  41. *        release (YEAH!!!).
  42. *      - Removed the custom bootblock writer, too many guys
  43. *        thought Berserker to be some kind of virus in
  44. *        disguise.
  45. *
  46. *   V3.0+   - Extended to find Gaddafi and Disk-Doctor viruses.
  47. *
  48. **************************************************************************
  49. *
  50. *           This is the documentation file for BERSERKER III +
  51. *    (Cleaned up on request from Ralf Thanner by Olaf 'Olsen' Barthel)
  52. *
  53. **************************************************************************
  54.  
  55.                        WHAT DOES BERSERKER III+ DO?
  56.                        ============================
  57.  
  58. Berserker  is  a viruskiller which was designed as a CLI-command.  It works
  59. with Kick 1.2, Kick 1.3, 512K and expansion RAM.
  60.  
  61. Because  of  the  big  number  of  link  viruses  on the Amiga, I recommend
  62. inserting the Berserker call as the third command in your startup-sequence.
  63.  
  64. Berserker turns off the power LED and has one single option:
  65.  
  66.    ? (= short instructions)
  67.  
  68. If  Berserker  finds  a  virus  a  Recoverable  Alert appears, just click a
  69. mousebutton  to  continue  (this  was added due to the possibility that the
  70. Berserker  banner  message  might  have been redirected, the chance to know
  71. about a virus in the system won't be wasted this way).
  72.  
  73.  
  74.                     WHICH VIRUSES DOES BERSERKER KNOW?
  75.                     ==================================
  76.  
  77. 1. SCA and all its mutant brothers and sisters
  78.    -------------------------------------------
  79.    This means AEK, LSD, WARHAWK, OBELISK and so on...
  80.  
  81. 2. Byte Bandit
  82.    -----------
  83.    No need for further discussion (or what do you think?).
  84.  
  85. 3. Byte Warrior (DASA0.2)
  86.    ----------------------
  87.    Was  the  first virus with coded text, so you couldn't recognize it on
  88.    the bootblock.
  89.  
  90. 4. The Exterminator (LAMER!)
  91.    -------------------------
  92.    This  one  fills  the  tracks  of  a  disk  with 'LAMER!LAMER!LAMER!'.
  93.    Exterminator  is  very  tricky, if you try to examine the bootblock it
  94.    will always look like a normal one.
  95.  
  96. 5. The IRQ-Virus
  97.    -------------
  98.    This  one  is  a  link  virus.  It looks for the second program in the
  99.    startup-sequence and tries to infect it.  If this fails it will try to
  100.    link itself to the DIR command.  WARNING!!!  Sometimes it also infects
  101.    other programs.
  102.  
  103.    If a disk is write-protected the IRQ-virus always brings up a standard
  104.    DOS Autorequester like this:
  105.  
  106.    +System Request ==================##|##+
  107.    |                                      |
  108.    | Volume                               |
  109.    | - Disk name -                        |
  110.    | is write protected                   |
  111.    |                                      |
  112.    | +-----+                     +------+ |
  113.    | |RETRY|                     |CANCEL| |
  114.    | +-----+                     +------+ |
  115.    +--------------------------------------*
  116.  
  117.    Hint  for programmers:  the IRQ-virus' vector is OLDOPENLIBRARY(-408),
  118.    therefore  always  use  OPENLIBRARY(-552).  Unfortunately the standard
  119.    Aztec  'C'  3.2a  -  3.6a  crt0.a68  startup  code  makes  a  call  to
  120.    OldOpenLibrary()  to  get  access  to the dos.library.  Time for a bug
  121.    fix, Manx?
  122.  
  123. 6. The BSG 9-Virus
  124.    ---------------
  125.    This  one  is  a  link  virus.   It looks for the first program in the
  126.    startup-sequence  and  tries to infect it.  It saves the modified file
  127.    in the DEVS directory with spaces instead of a name.  The virus itself
  128.    is  about  2608  bytes  long  and  becomes  visible after four or five
  129.    resets; the screen turns black and a message appears:
  130.  
  131.               "      A COMPUTER VIRUS IS A DISEASE     "
  132.               "       TERRORISM IS A TRANSGRESSION     "
  133.               "        SOFTWARE PIRACY IS A CRIME      "
  134.               "             THIS IS THE CURE           "
  135.               "   BSG 9  BUNDESGRENZSCHUTZ SEKTION 9   "
  136.               "          SONDERKOMMANDO 'EDV'          "
  137.  
  138. 7. The Gadaffi-Virus
  139.    -----------------
  140.    This  one  is  a  mutant  version  of the old Byte Warrior.  It copies
  141.    itself  on  each  disk  and  tries to play a sound with the disk drive
  142.    motor  after  12  resets.  Even though you might find the music funny,
  143.    the  drive  will  be  of a different opinion (this may lead to serious
  144.    hardware failures!).
  145.  
  146. 8. The Disk-Doctor
  147.    ---------------
  148.    This  one is a brand new one.  It allocates 12 KBytes after each reset
  149.    and  ...   to  be honest, I didn't test what it also does because this
  150.    one  was  very complicated -> before Disk-Doc I had never seen a Task,
  151.    nor  did  I know what you can do with one. I'm lucky enough to be able
  152.    to detect and kill it.
  153.  
  154.    If  anybody  knows  what  the  pointer in 148(A6) does:  tell me about
  155.    it!!!
  156.  
  157.  
  158.                           BERSERKER VERSUS VIRUSX
  159.                           =======================
  160.  
  161. Don't  be  afraid  of  the small number of viruses Berserker seems to know!
  162. Okay,  on  first  sight  you  might  think  that Berserker only finds eight
  163. viruses  while  VirusX  3.20  recognizes  sixteen  and  because of this big
  164. difference you will still use VirusX.  BUT:  I improved my routines to such
  165. a  level  that they do MORE THAN IT LOOKS LIKE.  The SCA search routine for
  166. example  just  looks  after  the  cold-capture  vector  and then checks the
  167. program  for  a  DoIO.   With this method Berserker is able to find ALL SCA
  168. mutants, because they all work the same way.
  169.    Berserker  never  checks just for a checksum, it always looks after
  170. the  employed  pointers  and  only  cares  if  these  pointers are changed.
  171. Therefore  Berserker  is  able to find a virus even though a stupid guy may
  172. have  changed  the  text.   In  my  opinion  this is the best way to detect
  173. viruses.
  174.    And  to  tell  you  the truth:  although I'm always hunting for new
  175. viruses did I never get an Obelisk or a Pentagon Circle on one of my disks.
  176. I  only  had  to  fight  with  those  I have implemented in my viruskiller.
  177. Berserker  III  should  be no rival for the very good (and very long...  HA
  178. HA)  VirusX  by  Steve  Tibbet  (good  work!) (Olsen:  VirusX is one of the
  179. programs  with  the sloppiest coding style which is only beaten by PopInfo,
  180. therefore  it  does NOT work with Kick1.3 and doesn't even try to run under
  181. Kick1.4  alpha 15 -> Berserker is better!  :-> ).  The design is completely
  182. different.
  183.  
  184.  
  185.                             ADDITIONAL REMARKS
  186.                             ==================
  187.  
  188.                            Special thanks go to:
  189.  
  190.                        Olaf B. for testing and ideas
  191.                        Thomas M. for beer and ideas
  192.                  Michael V. for some utilities and viruses
  193.            Henning L. for being one of the BEST assembler freaks
  194.                 Thorsten H. for also being one of the BEST
  195.              Gunnar L. for being a friend and good programmer
  196.                     Martha for loving me for two years...
  197.  
  198.  
  199. Olsen:  Berserker was written using the well known Kuma Seka Assembler.  As
  200. an  American  user you might have never heard or seen anything of it.  Kuma
  201. did it the British way:  Seka does neither generate ALink compatible linker
  202. object  files,  nor  does  it  apply  to  the  de facto Metacomco MASM (see
  203. Developers'  toolkit) standard.  For this reason your CAPE, MASM, ASM or AS
  204. will  probably refuse to re-assemble the source code.  Calls like "MOVE 4.W
  205. A6"  will  have to be replaced by something like "MOVE 4,A6".  Don't wonder
  206. if  the  executable progam becomes longer than the supplied Berserker file:
  207. it  has  been  compressed  using  a  brilliant  object  file  packer called
  208. "Powerpacker".  Berserker is NOT a virus, this IS a guarantee.
  209.  
  210.  
  211.                            WHAT I WANT YOU TO DO
  212.                            =====================
  213.  
  214. If  you  have  some  special  remarks like bug reports (NO!  NO!  NO!), new
  215. viruses (write it onto the disk in BIG letters) or some ideas (nothing like
  216. a multitasking viruskiller or adding a file checker) write to:
  217.  
  218.                                Ralf Thanner
  219.                               Ellerstrasse 83
  220.                             4000 Duesseldorf 1
  221.  
  222.                               WEST - GERMANY
  223.  
  224.                    P.a.V. (Programmers against Viruses)
  225.  
  226.  
  227.               MY BEST REGARDS GO TO STEVE TIBBET & FRED FISH!
  228.               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  229.